In previous versions of an offline address book (OAB) (such as the address book feature of Exchange Server and Outlook), the index files were generated on the server at the same time the data files were generated. Index files presented sorted views of the offline address book and were tied to one version of the full OAB data file (e.g., the particular version of the data files being indexed.
One problem was that different languages sort words and text differently than others. In order to support multiple client languages, a server generated a different set of index files for each client sort locale. For example, the Exchange Server architecture only supported generating one client locale on any one server for an OAB so multiple servers would be deployed to generate multiple client sort locales. The administrator would then need to ensure that the proper code-pages and language packs were installed on the server for each client language. There is a need to find a way to index the OAB so that the administrator no longer needs to deploy multiple servers nor do the language packs for each language need to be installed.
Another problem resulted from differential updates such as the differential update mechanism introduced in Exchange Server 5.5. Differential updates allow the client copies of the OAB and index files to be incrementally updated from the previous version. Updating the index files is a difficult problem to do efficiently and optimally, so the final design resulted in data structures that would become unbalanced and inefficient after a large number of updates. There is a need for indexing the data files after each OAB update so that the resulting index files will always be efficient and well balanced.
Also, server based designs of the OAB tend to limit future growth of the OAB. Small changes have been applied many times to work around these limits, but it still has some problems.
There is a need for a new OAB format that will overcome many if not all of the current limitations of the OAB design.
Accordingly, a system and method for maintaining and indexing address books is desired to overcome one or more of these and other disadvantages.